#ifndef REPAIRPOINTSTEPCALCULATOR_H
#define REPAIRPOINTSTEPCALCULATOR_H

#include "StepCalculator.h"
#include "RepairpointReachable.h"
#include "RepairpointStep.h"
#include "Activatable.h"

class RepairpointStepCalculator: public StepCalculator
{
public:
	RepairpointStepCalculator();
	virtual ~RepairpointStepCalculator();

	void SetActivator(GameObject* repairpoint);

	virtual void GenerateSteps(Board& board);
	virtual void Execute();

protected:

private:
	void Clear();
	void AddStep(GameObject* object, RepairpointReachable* repairpointreachable);

	GameObject* activatableObject;
	Activatable* activatableInterface;
	std::list<Step*> steps;
};

#endif //REPAIRPOINTSTEPCALCULATOR_H
